/**
 * @Description:个人中心配置管理 API
 * @Author: zqy
 * @Date: 2023-08-17 16:37:03
 * @Last Modified by: zqy
 * @Last Modified time: 2023-09-18 09:54:05
 * */

import request from '@/utils/request'
import { json2FormData } from '@/utils'

/**
 * 保存
 * @param {string} id (id存在为编辑，不存在为新增)
 * @param {string} name  名称
 * @param {string} code  编码
 * @param {string} picUrl 楼层图标
 */
export function saveConfig(data) {
  return request({
    url: `/api/v1/personalCenterEntry/`,
    method: data.id ? 'put' : 'post',
    data
  })
}

/**
 * 删除
 * @param {string} id
 */
export function delConfig(id) {
  return request({
    url: `/api/v1/personalCenterEntry/${id}`,
    method: 'delete'
  })
}

/**
 * 更新排序
 * @param {String} id
 * @param {String} type  移动类型(bottom 置底 ，top 置顶 ， moveDown 下移 ，  moveUp 上移)
 */
export function updateSort({ id, type }) {
  return request({
    url: `/api/v1/personalCenterEntry/${type}`,
    method: 'get',
    params: { id }
  })
}

/**
 * 查询详情
 * @param {string} id  楼层ID
 */
export function queryDetail(id) {
  return request({
    url: `/api/v1/personalCenterEntry/${id}`,
    method: 'get'
  })
}

/**
 * 查询分组分页
 * @param {string} id  楼层ID
 */
export function queryGroupPage(id) {
  const data = new FormData()
  data.append('pageFlag', false)
  data.append('sort', 'sort')
  data.append('order', 'asc')
  return request({
    url: `/api/v1/personalCenterEntryGroup/page`,
    method: 'post',
    data
  })
}

/**
 * 分组保存
 * @param {string} id (id存在为编辑，不存在为新增)
 * @param {string} name  名称
 * @param {string} code  编码
 * @param {string} picUrl 楼层图标
 */
export function saveGroupConfig(data) {
  return request({
    url: `/api/v1/personalCenterEntryGroup/`,
    method: data.id ? 'put' : 'post',
    data
  })
}

/**
 * 分组删除
 * @param {string} id
 */
export function delGroupConfig(id) {
  return request({
    url: `/api/v1/personalCenterEntryGroup/${id}`,
    method: 'delete'
  })
}

/**
 * 更新分组排序
 * @param {String} id
 * @param {String} type  移动类型(bottom 置底 ，top 置顶 ， moveDown 下移 ，  moveUp 上移)
 */
export function updateGroupSort({ id, type }) {
  return request({
    url: `/api/v1/personalCenterEntryGroup/${type}`,
    method: 'get',
    params: { id }
  })
}
